home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / linux / xfree86 / DOC / README.P9000 < prev    next >
Encoding:
Text File  |  1998-01-07  |  16.9 KB  |  727 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.             XFree86 3.3 P9000 Server Release Notes
  11.  
  12.              Erik Nygren (nygren@mit.edu)
  13.  
  14.                  1996 March 31
  15.  
  16.  
  17.  
  18. 1.  Change Log
  19.  
  20.       1997.01.30:
  21.  
  22.            o Added probing for MemBase and IOBase on Diamond Viper PCI
  23.          cards (Karl Anders ╪ygard)
  24.  
  25.            o Added support for DPMI screen saving (Karl Anders ╪ygard)
  26.  
  27.       1996.03.31:
  28.  
  29.            o Added support for the XFree86-DGA extension (Erik Nygren)
  30.  
  31.       1995.05.24:
  32.  
  33.            o Added p9000frect.c:  Accelerated solid rectangle fills at
  34.          8/16bpp (Henrik Harmsen)
  35.  
  36.            o Added stipple fills to p9000frect.c, and a stub for tile fills
  37.          when p9000ImageFill is fixed (Chris Mason)
  38.  
  39.            o Added p9000pntwin.c:  Accelerated paint window at 8/16/32bpp
  40.          (Henrik Harmsen)
  41.  
  42.            o Added p9000gc16.c and p9000gc32.c for the higher bpp drawing
  43.          functions (Henrik Harmsen)
  44.  
  45.            o Additions to p9000im.c: p9000Image[Op]Stipple.  And
  46.          p9000ImageFill.  Currently, there are small problems with
  47.          ImageFill, and it is not being used. (Chris Mason)
  48.  
  49.            o Added p9000PixAlu and p9000PixOpAlu.  miniterm->alu transla-
  50.          tion for pixel1 opaque and transparent operations. (Chris
  51.          Mason)
  52.  
  53.            o Added p9000text.c: Non-cached poly text and image text func-
  54.          tions.  Image text functions are not used because they are too
  55.          slow :( (Chris Mason)
  56.  
  57.       1995.05.21:
  58.  
  59.            o Fixed p9000init.c to properly deal with the vram_128 option.
  60.          This should allow the driver to work properly with all Viper's
  61.          with 1 MB of memory. (Erik Nygren)
  62.  
  63.  
  64. XFree86 3.3 P9000 Server Release Notes
  65.  
  66.  
  67.  
  68.  
  69.  
  70. XFree86 3.3 P9000 Server Release Notes
  71.  
  72.  
  73.  
  74.       1995.01.29:
  75.  
  76.            o Updated P9000.sgml to mention using Robin's scanpci rather
  77.          than PCIDUMP.EXE.
  78.  
  79.       1995.01.15:
  80.  
  81.            o Fixed problem with line capping in accelerated line drawing.
  82.          (Chris Mason)
  83.  
  84.            o Fixed p9000QuadAlu[GXset] to be ~0 rather than 1.  (Erik
  85.          Nygren)
  86.  
  87.       1995.01.14:
  88.  
  89.            o Clocks line is no longer used in XF86Config file.  Operation
  90.          should now be consistent with the operation of the other
  91.          servers which use programmable clocks. (Erik Nygren)
  92.  
  93.            o Users with 1MB cards can now explicitly specify videoRam in
  94.          the XF86Config file when autoprobing fails.  The new vram_128
  95.          option may also be used to force the detection of 128Kx8
  96.          SIMM's. (Erik Nygren)
  97.  
  98.            o Added p9000line.c and p9000seg.c for accelerated line drawing
  99.          code using the p9000 quad/clipping engine.  Blazingly fast for
  100.          1 clipping rectangle, could be made faster for multiple clip-
  101.          ping regions by using software clipping. There is still a bug
  102.          which causes xtest to report Cap style incorrect for thin line
  103.          and CapNotLast for the XDrawLines tests but not for the XDraw-
  104.          Line or XDrawSegments tests [fixed in 1995.01.15 patch].
  105.          (Chris Mason)
  106.  
  107.            o Changed p9000blt.c, and p9000win.c to wait for the quad/blit
  108.          engine to be free.  Before a quad/blit, check SR_ISSUE_QBN,
  109.          then blit, then when all blits are done, do a p9000QBNotBusy.
  110.          (Chris Mason)
  111.  
  112.            o Changed p9000init.c to clear the screen using the quad meta
  113.          coord drawing mode.  Appears the rect mode does not update the
  114.          CINDEX register correctly.  Changed the color to 1 (black)
  115.          from 0. (Chris)
  116.  
  117.            o Added p9000QuadAlu.  When drawing a quad, the p9000 equivalent
  118.          to X's source      is the foreground mask.  When blit-
  119.          ing/pixel8ing/pixel1ing, it is the p9000 source mask and the
  120.          p9000alu lookup table should be used. (Chris Mason)
  121.  
  122.            o Added some more registers to p9000reg.h. (Chris Mason)
  123.  
  124.       1994.09.20:
  125.  
  126.            o Fixed problem which prevented 16 bpp modes from working (Erik
  127.          Nygren)
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. XFree86 3.3 P9000 Server Release Notes
  137.  
  138.  
  139.  
  140.       1994.09.16:
  141.  
  142.            o Added screen blanking support for 16 bpp and 32 bpp modes.
  143.          Screen blanking now powers down the RAMDAC rather than just
  144.          changing the planemask. (Chris Mason, Erik Nygren)
  145.  
  146.            o Fixed more problems caused by switch to XF86Config (Erik
  147.          Nygren)
  148.  
  149.            o Possible fix to maxclock for Orchid P9000 (Harry Langenbacher,
  150.          Erik Nygren)
  151.  
  152.       1994.09.15:
  153.  
  154.            o Now almost always works with XF86Config changes (Erik Nygren)
  155.  
  156.            o Cursor code looks at VTSema before writing to RAMDAC.    This
  157.          had been causing the x11perf server crash (Erik Nygren)
  158.  
  159.       1994.09.08:
  160.  
  161.            o Fixed problem with xdm and restarting the server (Erik Nygren)
  162.  
  163.            o Fixed and enabled ImageRead in CopyArea (Chris Mason)
  164.  
  165.            o Made informational comments conform to standard :-) (Erik
  166.          Nygren)
  167.  
  168.       1994.09.05:
  169.  
  170.            o Fixed BIOS probe for Viper PCI (Bob Hollinger)
  171.  
  172.            o Fixes to Orchid P9000 support (Harry Langenbacher)
  173.  
  174.            o Changing of datatypes in clock code (Harry Langenbacher)
  175.  
  176.            o Fixed clock and misc reg restoration so now works fine with
  177.          svgalib (Chris Mason, Harry, Erik)
  178.  
  179.       1994.08.29:
  180.  
  181.            o Increased number of memory regions in xf86_OSlib.h from 2 to 3
  182.          as needed by the Viper PCI (Erik Nygren)
  183.  
  184.            o Changed method of short pauses in p9000vga.c to outb(0x80,0)
  185.          (Erik)
  186.  
  187.            o Rewrote routines to determine sysconfig from horizontal reso-
  188.          lution.  Also added check for valid hres to probe. (Erik
  189.          Nygren)
  190.  
  191.            o Added MoveWindow acceleration for all depths.    Opaque move
  192.          even looks nice at 32bpp now!    (Chris Mason)
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. XFree86 3.3 P9000 Server Release Notes
  203.  
  204.  
  205.  
  206.            o Minor fixes to acceleration.  Acceleration is now enabled by
  207.          default (Chris Mason)
  208.  
  209.            o Added "noaccel" option (Erik Nygren)
  210.  
  211.            o Added some fixes for Viper PCI (Matt Thomas)
  212.  
  213.       1994.07.21:
  214.  
  215.            o Preliminary Viper PCI support - totally untested so disabled
  216.          (Erik Nygren)
  217.  
  218.            o Preliminary Orchid P9000 support - incomplete and totally
  219.          untested so disabled (Erik Nygren)
  220.  
  221.            o Preliminary accelerated support - incomplete and not fully
  222.          tested so disabled (Erik Nygren and Chris Mason)
  223.  
  224.       1994.07.08:
  225.  
  226.            o 16 and 32 bpp TrueColor support (Erik Nygren)
  227.  
  228.            o Color restoration hopefully fixed (Erik Nygren)
  229.  
  230.            o Changes to how "Modes" line in Xconfig is processed
  231.  
  232.            o Removed banking support   :-(
  233.  
  234.  
  235. 2.  Supported Cards
  236.  
  237.  
  238.  
  239. 2.1  Diamond Viper VLB
  240.  
  241. All Viper VLB's should work with this server, hopefully...  :-) Due to Dia-
  242. mond's putting the same BIOS in some Viper VLB's as are used in Viper PCI's,
  243. the probe may detect you have a Viper PCI when you really have a Viper VLB.  If
  244. this happens, put chipset "vipervlb" into your XF86Config file.
  245.  
  246. 2.2  Diamond Viper PCI
  247.  
  248. You may need to specify the chipset "viperpci" in your XF86Config file.
  249.  
  250. Previously you had to find out the values for MemBase and IOBase by yourself.
  251. These are now autodetected.
  252.  
  253.  
  254. 3.  Orchid P9000 and random clones
  255.  
  256. The Orchid P9000 and other cards based on the Weitek board design (such as the
  257. STAR 2000) should now work.  Talk to harry@brain.jpl.nasa.gov if you have prob-
  258. lems with this.  Specify the chipset "orchid_p9000" in the Device section of
  259. XF86Config
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. XFree86 3.3 P9000 Server Release Notes
  269.  
  270.  
  271.  
  272. 4.  Viper Pro and other P9100 and P9130 cards (UNSUPPORTED!!!)
  273.  
  274. These are NOT supported yet.  We don't have the hardware to write and or test
  275. drivers for them on.  The docs I have says the P9100 has a different interface
  276. than the P9000.  As a result, they may need an entirely new server.  If you
  277. need support for one of these cards, you should look into XInside's Accelerat-
  278. edX.  It's a commercial product that costs about $99.  Send email to info@xin-
  279. side.com for more information.
  280.  
  281.  
  282. 5.  Acceleration
  283.  
  284. Some of the acceleration code is working, but there are probably still bugs.
  285. Only a very small number of accelerated features have been implemented.  Before
  286. working on any acceleration, please contact nygren@mit.edu so we don't dupli-
  287. cate efforts.  Acceleration may be turned off with the "noaccel" option.  The
  288. following things are now accelerated:
  289.  
  290.    o  Hardware cursor (8/16/32bpp)
  291.  
  292.    o  MoveWindow (8/16/32bpp)
  293.  
  294.    o  CopyArea (8bpp)
  295.  
  296.  
  297. 6.  XFree86-DGA Extension Support
  298.  
  299. The XFree86-DGA extension is now supported.  Note that XF86DGASetViewPort com-
  300. mand is not fully implemented due to hardware limitations of the P9000.  The
  301. SetViewPort and SetVidPage commands have been hacked to allow double buffering
  302. under certain conditions.
  303.  
  304. For cards with 1MB or modes where xres*yres*Bpp > 1024K, no double buffering is
  305. supported.  In this case, the bank size returned is equal to the amount of
  306. video memory.  Using the XF86DGASetViewPort and XF86DGASetVidPage commands have
  307. no results.
  308.  
  309. For cards with 2MB and for modes where virtualX*virtualY*Bpp < 1024K, the
  310. behaviors of SetViewPort and SetVidPage are modified to allow double buffering.
  311. The bank size returned by XF86DGAGetVideo is equal to xres*yres*Bpp.  In this
  312. mode, there are two buffers which can be written to, read from, and displayed.
  313. The XF86DGASetVidPage command can be used to switch between buffers 0 and 1 for
  314. I/O.  Whichever buffer is selected will be available through the linear aper-
  315. ture with no offset.  If XF86DGASetViewPort is called with ypos < yres, it will
  316. cause buffer 0 to be displayed.  If ypos >= yres, buffer 1 will be displayed.
  317. The result of this behavior is that programs which switch banks as necessary
  318. and which use two vertically adjacent banks should work with no P9000-specific
  319. changes.
  320.  
  321.  
  322. 7.  High Color and TrueColor
  323.  
  324. Support for 16 and 24 bit truecolor is now supported.  Note that 24 bit color
  325. is really 32 bits per pixel.  Use the -bpp option when starting the server.
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. XFree86 3.3 P9000 Server Release Notes
  335.  
  336.  
  337.  
  338. Examples:
  339.  
  340.       startx -- -bpp 32
  341.       startx -- -bpp 16
  342.       startx -- -bpp 16 -weight 555
  343.       startx -- -bpp 16 -weight 565
  344.  
  345.  
  346. Note that many programs do not yet work properly with these modes.  Don't tell
  347. me.  Tell the authors unless they've already fixed it.    It's their fault...
  348. :-)
  349.  
  350. Example problems:
  351.  
  352.       xv 3.00
  353.         Works fine in 32 bpp and in 16 bpp with 24 bit images.  Has prob-
  354.         lems with colors in 8 bit images in 8 bpp mode.
  355.  
  356.       Mosaic 2.1
  357.         Has problems with colormap in both 16 bpp and 32 bpp.  Newer ver-
  358.         sions of Mosaic such as 2.4 do work.
  359.  
  360.       mpeg_play
  361.         Doesn't work at all in 16 bpp mode.  Works fine 24 bpp mode when
  362.         compiled with -DRS6000 and when run with ``-dither color''
  363.  
  364.       xpaint 2.1
  365.         Works great in both modes but has a bug in the color requester for
  366.         the selection tool.  I think later versions may have fixed this.
  367.  
  368.  
  369. 8.  Random Notes
  370.  
  371. Text restoration should now be fixed.  Color restoration should also be fixed.
  372. You can now even run the server at the same time as svgalib programs!!!
  373.  
  374. Diamond has actually been fairly open and helpful.  No NDA's were signed by
  375. anyone who wrote code and Diamond claims that none of the information they pro-
  376. vided is proprietary.
  377.  
  378. One unresolved issue is the maximum clock speed.  It is currently set to 135
  379. MHz with a warning printed over 110 MHz.  Diamond claims that this is the max
  380. in their docs, but examination has shown some Viper's to contain 110 MHz
  381. bt485's.  Without 135 MHz, it is not possible for people to with large monitors
  382. to run at 1280x1024.  Diamond claims that all Vipers have 135MHz bt485's or
  383. compatibles.  If you have something slower, call their tech support and they
  384. will send you a RMA to get the board replaced.
  385.  
  386.  
  387. 9.  Operating System Notes
  388.  
  389. Any operating system that can memory map linear regions in really high memory
  390. should work.  This should include Linux, FreeBSD, SVR4, and more.
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. XFree86 3.3 P9000 Server Release Notes
  401.  
  402.  
  403.  
  404. 9.1  NetBSD
  405.  
  406. If you have NetBSD, you will need to install the aperture driver.  Extract the
  407. file apNetBSD.shar (in xc/programs/Xserver/hw/xfree86/etc/apNetBSD.shar) and
  408. read the README contained therein.
  409.  
  410.  
  411. 10.  XF86Config
  412.  
  413. The modes line in the XF86Config file is now handled differently.  The virtual
  414. line is now ignored entirely.  Each mode on the mode line is looked at and the
  415. first usable mode is selected (ie the first one which works with available mem-
  416. ory, etc).  Any other modes which are valid and have the same dimensions are
  417. also used.  And other modes are ignored.
  418.  
  419. The current supported keywords in the Device section of the XF86Config file
  420. are:
  421.  
  422.       VideoRAM
  423.         1024 or 2048  (use 2048 for ``3MB'' Orchid P9000's)
  424.  
  425.       ChipSet
  426.         "vipervlb" or "viperpci" or "orchid_p9000"
  427.  
  428.       MemBase
  429.  
  430.           Viper VLB:
  431.             0xA0000000 or 0x20000000 or 0x80000000 (0x80000000 is
  432.             default if none spec'd)
  433.  
  434.           Orchid P9000:
  435.             0xC0000000 or 0xD0000000 or 0xE0000000 (this MUST be
  436.             set to correspond to the jumpers)
  437.  
  438.           Viper PCI:
  439.             any value corresponding to the output of PCIDUMP.EXE
  440.  
  441.       IOBase
  442.  
  443.           Viper PCI:
  444.             any value corresponding to the output of PCIDUMP.EXE
  445.  
  446.           Others:
  447.             unused
  448.  
  449.       Clocks
  450.         any values between 25 and 135 corresponding to the clocks for the
  451.         mode entries being used.  This line may now be omitted and clocks
  452.         will be matched automatically.
  453.  
  454.       Option
  455.  
  456.           "sw_cursor"
  457.             use software cursor
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. XFree86 3.3 P9000 Server Release Notes
  467.  
  468.  
  469.  
  470.           "vram_128"
  471.             use if you have 1024K VRAM in 128Kx8 SIMMS
  472.  
  473.           "sync_on_green"
  474.             generate sync pulses on the green signal.  Most (all?)
  475.             P9000 based boards don't support this.
  476.  
  477.           "noaccel"
  478.             do not do hardware acceleration if it's causing prob-
  479.             lems for you
  480.  
  481.       Modes
  482.         almost any valid mode (there are constraints on the horiz res so
  483.         not all values are possible)
  484.  
  485. The current supported keywords in the Display section of the XF86Config file
  486. are:
  487.  
  488.       Depth
  489.  
  490.           8:
  491.             use 8 bits per pixel for 256 colors (default)
  492.  
  493.           15 or 16:
  494.             use 16 bits per pixel for up to 65K colors
  495.  
  496.           24 or 32:
  497.             use 32 bits per pixel (sparse 24 bpp) for up to 16 mil-
  498.             lion colors
  499.  
  500.       Weight
  501.         555 or 565 if Depth is 15 or 16.  Otherwise this is ignored.  These
  502.         are the Red, Green, and Blue bits per pixel (default=565)
  503.  
  504. Here's a portion of a sample XF86Config file for the Viper VLB:
  505.  
  506.      Section "Device"
  507.      Identifier "ViperVLB"
  508.      VendorName "Diamond"
  509.      BoardName "Viper VLB"
  510.      Videoram 2048                  # This is mandatory
  511.      Membase 0x80000000              # This is mandatory on non-ViperVLB's
  512.      IOBase  0xe000         # Use this ONLY on ViperPCI's
  513.      EndSection
  514.  
  515.      Section "Screen"
  516.      Driver "accel"
  517.      Device "ViperVLB"
  518.      Monitor "NEC4FGe"
  519.      Subsection "Display"
  520.       Depth 8   # This line is optional
  521.          Modes "1024x768" "800x600"
  522.      EndSubsection
  523.      EndSection
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. XFree86 3.3 P9000 Server Release Notes
  533.  
  534.  
  535.  
  536. 11.  Known Bugs
  537.  
  538. There are currently problems with the server when used in conjunction with xdm,
  539. olvwm, and VT switching under Linux.
  540.  
  541. If the cursor changes while you're in a VT, the cursor won't look right when
  542. you return from the VT until it is moved between windows (and changes color and
  543. shape).
  544.  
  545. Memory probing does not work.  You will need to explicitly specify the amount
  546. of memory you have.  If you have a 1 MB card, try put VideoRAM 1024 into the
  547. Device section of your XF86Config file.  If this doesn't work, try adding
  548. Option "vram_128" to the Device section.
  549.  
  550.  
  551. 12.  Credits
  552.  
  553. Major contributors to P9000 code:
  554.  
  555.    o Erik Nygren (nygren@mit.edu)
  556.  
  557.    o Harry Langenbacher (harry@brain.jpl.nasa.gov)
  558.  
  559.    o Chris Mason (clmtch@osfmail.isc.rit.edu)
  560.  
  561.    o Henrik Harmsen (harmsen@eritel.se)
  562.  
  563. Thanks to Matt Thomas (thomas@lkg.dec.com) and Bob Hollinger (bob@interac-
  564. cess.com) for helping to get the Viper PCI server working.
  565.  
  566. Special thanks to David Moews (dmoews@xraysgi.ims.uconn.edu) whose banking
  567. patch could unfortunately not be included.
  568.  
  569. Thanks to Andy, David, Dave, Jon, Michael, Bob, all the XFree86 core team peo-
  570. ple, and everyone else!
  571.  
  572. During the course of the next few months, people will be working on accelera-
  573. tion, etc.  Please send any patches to me (nygren@mit.edu).
  574.  
  575.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/P9000.sgml,v 3.18.2.4 1997/05/17 12:03:30 dawes Exp $
  576.  
  577.  
  578.  
  579.  
  580.  
  581.      $XConsortium: P9000.sgml /main/9 1996/05/12 20:58:05 kaleb $
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. XFree86 3.3 P9000 Server Release Notes
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.                    CONTENTS
  669.  
  670.  
  671.  
  672. 1.  Change Log    ............................................................. 1
  673.  
  674. 2.  Supported Cards  ........................................................ 4
  675.     2.1 Diamond Viper VLB  .................................................. 4
  676.     2.2 Diamond Viper PCI  .................................................. 4
  677.  
  678. 3.  Orchid P9000 and random clones  ......................................... 4
  679.  
  680. 4.  Viper Pro and other P9100 and P9130 cards (UNSUPPORTED!!!)    ............. 5
  681.  
  682. 5.  Acceleration  ........................................................... 5
  683.  
  684. 6.  XFree86-DGA Extension Support  .......................................... 5
  685.  
  686. 7.  High Color and TrueColor  ............................................... 5
  687.  
  688. 8.  Random Notes  ........................................................... 6
  689.  
  690. 9.  Operating System Notes  ................................................. 6
  691.     9.1 NetBSD    ............................................................. 7
  692.  
  693. 10. XF86Config    ............................................................. 7
  694.  
  695. 11. Known Bugs    ............................................................. 9
  696.  
  697. 12. Credits  ................................................................ 9
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                        i
  725.  
  726.  
  727.